# 商品信息的数据存放（商品编号，商品名称，商品价格）
goods_list = [
    ["Jackson Wang's concert tickets",8520],  # 我们认为每一个商品内容是一个多个值的值，可选用list
    ["iphone 13 pro Max",10000],
    ["Jacket of Team Wang design",1000]
]

# 用户购物信息的数据存放
user_shopping_cart = []  # 用户列表初始为空，后续增加可考虑用append()方法

# 1.用户输入余额信息，打印商品列表给用户
Alipay = int(input("请输入您的支付宝余额:"))  # input的使用，结果是一个字符串

# 打印商品信息,打印商品的次数由商品列表的长度决定（len(goods_list)）
# info = '''------goods list------
# 商品编号：%s,商品名称：%s,商品价格：%s元
# 商品编号：%s,商品名称：%s,商品价格：%s元
# 商品编号：%s,商品名称：%s,商品价格：%s元
# '''%(0,goods_list[0][0],goods_list[0][1],
#      1,goods_list[1][0],goods_list[1][1],
#      2,goods_list[2][0],goods_list[2][1],
#      3,goods_list[3][0],goods_list[3][1],
# )
# print(info)

# list长度 len()

# 执行循环
while True: # 循环遍历商品列表，将商品信息按照一定格式输出
    print('------请选择编号 欢迎选购------')
    for i in range(len(goods_list)):  # range会根据商品列表的长短变化而变化
        # 给格式化的样式（先给）
        # 样式（不懂代码的人可以完成的工作）：商品编号：xx，商品名称：xx，商品价格：xx
        print("商品编号：%s,商品名称：%s,商品价格：%s 元"%(i,goods_list[i][0],goods_list[i][1]))

    # 2.用户输入商品编号，实现商品查询购买
    choice = input("请输入商品编号（如果退出请输入“q”）：") # input输入的内容默认是字符串str 例如输入2，则显示“2”
    if choice.isdigit():  # isdigit判断字符串里面的内容是否是数值
        choice = int(choice) # 如果是数值，把它变成真正的int
        # 判断商品编号是否在范围内
        if int(choice) > len(goods_list):
            print("您输入的商品不存在，请检查再次输入")
        else:
            # 对比商品编号，找到对应商品：商品价格 goods_list[choice][1],
            # 3.检查用户余额 VS 商品价格关系
            if Alipay > goods_list[choice][1]:  # 买得起 1. 扣钱 2.把商品加到用户购物列表
                Alipay = Alipay-goods_list[choice][1]
                user_shopping_cart.append(goods_list[choice])
                print("【%s】已经加入您的购物车，您的【账户余额】：还有 %s 元"%(goods_list[choice][0],Alipay))
            else:
                print("您的余额已不足，请更换支付方式")
    elif choice == "q":
        # 如果用户输入q，则说明用户要退出购买了，我们将打印用户已购买的商品列表以及用户余额
        print("您的购物车：",user_shopping_cart)
        print("您的余额：%s 元"%(Alipay))
        break
    else:
        print("请输入正确的【商品编号】！或者按照输入提示进行输入")